package aufgabe2;


public class ImplementationMatrixArray implements InterfaceMatrix{

	private double[][] matrix;
	
	private int hoehe;
	
	private int breite;
	
	private int zugriffe;
	
	public ImplementationMatrixArray(int m, int n){
		hoehe =  m;
		breite = n;
		this.matrix = new double[m][n];
		zugriffe = 0;
	}
	
	@Override
	public int getHoehe() {
		return hoehe;
	}

	@Override
	public int getBreite() {
		return breite;
	}
	
	@Override
	public double getMatrixMN(int m, int n) {
		zugriffe++;
		return matrix[m][n];
	}

	@Override
	public void setMatrixMN(int m, int n, double x) {
		matrix[m][n] = x;
		zugriffe++;
	}

	@Override
	public InterfaceMatrix getNewMatrix(int zeilen, int spalten) {
		return new ImplementationMatrixArray(zeilen, spalten);
	}
	
	@Override
	public int getReferenceCounter(){
		return zugriffe;
	}
	
	@Override
	public void resetReferenceCounter(){
		zugriffe = 0;
	}
}
